#!/usr/bin/env python
# -*- coding: utf-8 -*-

# @Time     :2020/12/03
# @Author   :Changshu
# @File     :Exercise_520.py

# 520. 检测大写字母
# 给定一个单词，你需要判断单词的大写使用是否正确。
# 我们定义，在以下情况时，单词的大写用法是正确的：
#
# 全部字母都是大写，比如"USA"。
# 单词中所有字母都不是大写，比如"leetcode"。
# 如果单词不只含有一个字母，只有首字母大写， 比如 "Google"。

'''法一：暴力遍历
def detectCapitalUse(word: str) -> bool:
	if len(word)==1:
		return True
	firstCapital=False
	thenLower=False
	thenCapital=False
	# if 90>=ord(word[0])>=65:
	# 	firstCapital=True
	if word[0].isupper():
		firstCapital = True
	i=1
	for i in range(1,len(word)):
		if thenCapital and thenLower:
			break
		if word[i].isupper():
			thenCapital=True
		else:
			thenLower=True
	if firstCapital and thenCapital and not thenLower:
		return True
	if firstCapital and thenLower and not thenCapital:
		return True
	if not firstCapital and thenLower and not thenCapital:
		return True
	return False
'''

'''法二：使用内置函数
def detectCapitalUse(word: str) -> bool:
	return word.upper()==word or word.lower()==word or word.title()==word
'''

'''法三：使用内置函数'''
def detectCapitalUse(word: str) -> bool:
	return word.isupper() or word.islower() or word.istitle()
if __name__ == '__main__':
	# word='CHINA'
	word='CHINA'
	print(detectCapitalUse(word))